home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 1 / LSD Compendium Deluxe 1.iso / a / programming / assembly / coppers.lha / Raster_Bar.s < prev   
Encoding:
Text File  |  1980-01-01  |  3.0 KB  |  160 lines

  1. startlist:    equ 38
  2. openlib:    equ-408
  3. exec:        equ 4
  4. forbid:        equ-132
  5. permit:        equ-138
  6. ;===============================================
  7. start:
  8.     lea    $70000,a0
  9.     move.l    #$2000,d0
  10. cloop:    clr.b    (a0)+
  11.     dbf    d0,cloop
  12. ;------------------------------
  13.  
  14.     bsr    initcop
  15. wait:
  16.     btst    #6,$bfe001
  17.     beq    ENDE
  18.  
  19.     move.w    #$6fff,d0
  20. Time:    subq    #$1,d0
  21.     cmp.w    #$00,d0
  22.     bne    Time
  23.     
  24. Fscr:    
  25.     lea    c1(pc),a3    ; C1 in A3 Zwischenspeichern !!!
  26.     move.l    a3,a0        
  27.  
  28.     lea    c2(pc),a1    ; c2  nach  c1
  29.     move.w    (a1),(a0)
  30.  
  31.     lea    c3(pc),a0    ; c3  nach  c2
  32.     move.w    (a0),(a1)
  33.  
  34.     lea    c4(pc),a1    ; c4  nach  c3
  35.     move.w    (a1),(a0)
  36.  
  37.     lea    c5(pc),a0    ; c5  nach  c4
  38.     move.w    (a0),(a1)    
  39.  
  40.     lea    c6(pc),a1    ; c6  nach  c5
  41.     move.w    (a1),(a0)
  42.  
  43.     lea    c7(pc),a0    ; c7  nach  c6    
  44.     move.w    (a0),(a1)
  45.     
  46.     lea    c8(pc),a1    ; c8  nach  c7
  47.     move.w    (a1),(a0)        
  48.  
  49.     lea    c9(pc),a0    ; c9  nach  c8
  50.     move.w    (a0),(a1)    
  51.  
  52.     lea    c10(pc),a1    ; c10 nach  c9
  53.     move.w    (a1),(a0)    
  54.  
  55.     lea    c11(pc),a0    ; c11 nach  c10
  56.     move.w    (a0),(a1)    
  57.  
  58.     lea    c12(pc),a1    ; c12 nach  c11
  59.     move.w    (a1),(a0)
  60.  
  61.     lea    c13(pc),a0    ; c13 nach  c12    
  62.     move.w    (a0),(a1)
  63.  
  64.     lea    c14(pc),a1    ; c14 nach  c13
  65.     move.w    (a1),(a0)        
  66.  
  67.     move.w     (a3),(a1)    ; c1  nach  c14
  68.     bra    wait
  69.  
  70. initcop:
  71.     move.w    #$4000,$dff09a    ; IRQ-Enable ==> OFF
  72.     move.w    #$0007,$dff0e0    ;
  73.     move.w    #$0000,$dff0e2    ; Screenadresse Hi - LO
  74.     move.w    #$1200,$dff100    ; Bildschirm mit 1 Bitmap ein
  75.     move.w    #$03a0,$dff096    ;copper DMA aus
  76.     
  77.     move.l    exec,a6
  78.     jsr    forbid(a6)    
  79.  
  80.     lea    $dff000,a5
  81.     lea    Copper(pc),a0    
  82.     move.l    a0,$80(a5)
  83.     clr.w    $88(a5)
  84.     move.w    #$8280,$96(a5)
  85.     rts
  86. ;--------------------------------------------------
  87. ENDE:
  88.     move.l    exec,a6
  89.     lea    GRname(pc),a1    
  90.     jsr    openlib(a6)
  91.     move.l    d0,a4    
  92.  
  93.     move.l    startlist(a4),$dff080    ;Anfangscopper setzen !!!
  94.     move.w    #$83e0,$dff096    
  95.  
  96.     move.l    exec,a6
  97.     jsr    permit(a6)
  98.     move.w    #$c000,$dff09a        ;IRQ-Enable ==> ON
  99.     rts                ;zurueck zum Seka
  100.  
  101. ;=========== Copperliste ==========================
  102. copper:
  103.     DC.W    $0180    ; Hintergrundfarbe =>
  104. co0:    dc.w    $0000    ;               Schwarz
  105.     DC.W    $0182    ; Schriftfarbe       =>
  106. co1:    dc.w    $0f00    ;              Rot
  107. ;------------------------------------------------
  108.     dc.w    $9a0f,$fffe    ; Z-154
  109.     dc.w    $0180
  110. c1:    dc.w    $00ff
  111.     dc.w    $9b0f,$fffe    ; Z-155
  112.     dc.w    $0180
  113. c2:    dc.w    $00df
  114.     dc.w    $9c0f,$fffe    ; Z-156
  115.     dc.w    $0180
  116. c3:    dc.w    $00bf
  117.     dc.w     $9d0f,$fffe    ; Z-157
  118.     dc.w    $0180
  119. c4:    dc.w    $009f
  120.     dc.w    $9e0f,$fffe    ; Z-158
  121.     dc.w    $0180
  122. c5:    dc.w    $007f
  123.     dc.w    $9f0f,$fffe    ; Z-159
  124.     dc.w    $0180
  125. c6:    dc.w    $005f
  126.     dc.w    $a00f,$fffe    ; Z-160
  127.     dc.w    $0180
  128. c7:    dc.w    $003f
  129.  
  130. ; --- Mitte des Farbstreifens !! ---
  131.  
  132.     dc.w    $a10f,$fffe    ; Z-161
  133.     dc.w    $0180
  134. c8:    dc.w    $003f
  135.     dc.w    $a20f,$fffe    ; Z-162
  136.     dc.w    $0180
  137. c9:    dc.w    $005f
  138.     dc.w    $a30f,$fffe    ; Z-163
  139.     dc.w    $0180
  140. c10:    dc.w    $007f
  141.     dc.w    $a40f,$fffe    ; Z-164
  142.     dc.w    $0180
  143. c11:    dc.w    $009f
  144.     dc.w    $a50f,$fffe    ; Z-165
  145.     dc.w    $0180
  146. c12:    dc.w    $00bf
  147.     dc.w    $a60f,$fffe    ; Z-166
  148.     dc.w    $0180
  149. c13:    dc.w    $00df
  150.     dc.w    $a70f,$fffe    ; Z-167
  151.     dc.w    $0180
  152. c14:    dc.w    $00ff
  153.     dc.w     $a80f,$fffe    ; Z-168
  154.     dc.w     $0180,$0000    ; Hintergrundfarbe wieder => Schwarz
  155.     DC.W    $FFFF,$FFFE    ; Ende der Copperliste
  156. ;-----------------------------------------------
  157. even
  158. Grname:        dc.b    'graphics.library',0
  159.  
  160.